///////////////////////////////////////////////////////////////////////////////
// Project: Hoyo Client Game
//
// hy_language_logic.cpp
// Created: 2013-7-13
// Author: Like Cheng
///////////////////////////////////////////////////////////////////////////////

#include "hy_language_logic.h"
// singleton stuff
hy_language_logic* hy_language_logic_instance = NULL;
///////////////////////////////////////////////////////////////
//language_logic::language_logi
//////////////////////////////////////////////////////////////
hy_language_logic::hy_language_logic() : m_is_ready(false)
{
}
///////////////////////////////////////////////////////////////
//hy_language_logic::~hy_language_logic
//////////////////////////////////////////////////////////////
hy_language_logic::~hy_language_logic()
{
}
///////////////////////////////////////////////////////////////
//hy_language_logic::instance
//////////////////////////////////////////////////////////////
hy_language_logic* hy_language_logic::instance(void)
{
	if ( !hy_language_logic_instance )
	{
		hy_language_logic_instance = new hy_language_logic();
	}

	return hy_language_logic_instance;
}
///////////////////////////////////////////////////////////////
//hy_language_logic::purge_instance
//////////////////////////////////////////////////////////////
void hy_language_logic::purge_instance()
{
	DEL_POINTER( hy_language_logic_instance );
}
///////////////////////////////////////////////////////////////
//hy_language_logic::init
//////////////////////////////////////////////////////////////
bool hy_language_logic::init()
{
	return read_language_content();
}
///////////////////////////////////////////////////////////////
//hy_language_logic::read_language_content
//////////////////////////////////////////////////////////////
bool hy_language_logic::read_language_content()
{
	Json::Reader jsonReader;
	std::string str_path = "Resources/lang.json";	

	std::ifstream fin( str_path.c_str() );
	if( !fin )
		return false;


	// parse data
    if ( !jsonReader.parse( fin, m_root ) )
    {
		HERROR( "-load language data failed!--");
        return false;
    }
	fin.close();
    
    m_is_ready = true;
	return true;
}
///////////////////////////////////////////////////////////////
//hy_language_logic::get_content
//////////////////////////////////////////////////////////////
std::string hy_language_logic::get_content( const char* content)
{
    if ( !m_is_ready ) return string("");
	std::string a = m_root[content].asString();
	//CCLOG("a= %s",a.c_str());
    return a;
}

